Skip to main content

Stages

Stages are the ordered lifecycle steps of a case type. A case definition carries a stages array; a case instance is always "in" exactly one stage, identified by the stage name.

Transitions between stages are not hard-coded — they are driven by event listeners (caseHooks).


Stage fields

FieldTypeRequiredDescription
idstringStage identifier (typically the ordinal as text, e.g. "0").
indexintegerZero-based ordering index.
namestringDisplay name. This is the value event listeners reference (see newStage).
processesDefinitionsarrayBPMN processes bound to this stage (manual or auto-started).

Each entry of processesDefinitions:

FieldTypeDescription
autoStartbooleanWhether the process starts automatically when the stage is entered.
definitionKeystringBPMN process definition key.
definitionNamestringDisplay name of the process.

Example

"stages": [
{ "id": "0", "index": 0, "name": "Ticket Creation" },
{ "id": "1", "index": 1, "name": "Issue Investigation" },
{ "id": "2", "index": 2, "name": "Resolution" }
]
note

Status (Work In Progress / Closed / Archived) is a separate, fixed dimension and is not configurable per case type — only stages are.

Reference schema: case-definition.schema.json ($defs.caseStage).